#include <iostream>
using namespace std;

int main(int argc, const char *argv[]){
    // 在堆区分配连续的5个int大小的空间
    int *p = new int[5];
    // 如果想直接对空间初始化成0 可以用下面的用法
    //int *p = new int[5]();
    // 对分配的空间赋值
    for(int i = 0; i < 5; i++){
        p[i] = i + 1;
    }
    // 输出
    for(int i = 0; i < 5; i++){
        cout << p[i] << " ";
    }
    cout << endl;
    
    // C++ 也支持直接对分配的连续空间初始化  C++11以上的版本支持
    int *p2 = new int[5]{10, 20, 30}; // 没有初始化的位 默认用0初始化
    for(int i = 0; i < 5; i++){
        cout << p2[i] << " ";
    }
    cout << endl;

    // 释放连续的空间
    delete []p;
    delete []p2;

    return 0;
}